package br.com.certificacao.Conjuntos.linkedhashset;

import java.util.LinkedHashSet;
import java.util.Set;

class Aluno {
	private String nome;

	Aluno(String nome) {
		this.nome = nome;
	}

	public boolean equals(Object o) {
		if ((o instanceof Aluno && o.getClass().equals(Aluno.class))) {
			if (((Aluno) o).getNome().equals(getNome())) {
				return true;
			}
		}
		return false;
	}

	public int hashCode() {
		int hashCode = this.nome.hashCode() * 37;
		return hashCode;
	}

	public String getNome() {
		return this.nome;
	}
}

public class Programa1 {
	public static void main(String[] args) {
		Set<Aluno> alunos = new LinkedHashSet<Aluno>();
		alunos.add(new Aluno("Sidney"));
		alunos.add(new Aluno("Alberto"));
		alunos.add(new Aluno("Almir"));
		alunos.add(new Aluno("Sidney"));

		for (Aluno aluno : alunos)
			System.out.println(aluno.getNome());
	}
}
